package org.hxyjs.service.impl;


import org.hxyjs.dao.GametypeDao;
import org.hxyjs.dto.DTO;
import org.hxyjs.dto.MessageEnum;
import org.hxyjs.entity.Gametype;
import org.hxyjs.entity.Gametype;
import org.hxyjs.page.PageInfo;
import org.hxyjs.service.GametypeService;
import org.springframework.stereotype.Service;

import javax.annotation.Resource;
import java.util.List;
import java.util.Optional;

@Service("GametypeService")
public class GametypeServiceImpl implements GametypeService {
    @Resource
    GametypeDao gametypeDao;
    @Override
    public DTO<Gametype> getAllGametypes()  throws Exception{
        List<Gametype> gametypes = gametypeDao.getAllGametypes();
        MessageEnum messageEnum  = Optional.ofNullable(gametypes).isPresent()?MessageEnum.GETGAMETYPESUCCESS: MessageEnum.GETGAMETYPEFAIL;
        return new DTO<Gametype>(messageEnum.getCode(),messageEnum.getMessage(),gametypes);
    }

    @Override
    public DTO<Gametype> deleteGametypeByGtno(String gtno)  throws Exception{
        Integer result = gametypeDao.deleteGametypeByGtno(gtno);
        MessageEnum messageEnum  =result> 0?MessageEnum.DELETEGAMETYPESUCCESS:MessageEnum.DELETEGAMETYPEFAIL;
        return new DTO<Gametype>(messageEnum.getCode(),messageEnum.getMessage());
    }

    @Override
    public DTO<Gametype> updateGametypeByGtno(Gametype gametype)  throws Exception{
        Integer result = gametypeDao.updateGametypeByGtno(gametype);
        MessageEnum messageEnum  =result> 0?MessageEnum.UPDATEGAMETYPESUCCESS:MessageEnum.UPDATEGAMETYPEFAIL;
        return new DTO<Gametype>(messageEnum.getCode(),messageEnum.getMessage());
    }

    @Override
    public DTO<Gametype> addGametype(Gametype gametype) throws Exception {
        Integer result = gametypeDao.addGametype(gametype);
        MessageEnum messageEnum  = result> 0?MessageEnum.ADDGAMETYPESUCCESS:MessageEnum.ADDGAMETYPEFAIL;
        return new DTO<Gametype>(messageEnum.getCode(),messageEnum.getMessage());
    }
    @Override
    public DTO<Gametype> getGametypeByPage(PageInfo pageInfo ) throws Exception {
        List<Gametype> gametypes = gametypeDao.getGametypeByPage(pageInfo);
        MessageEnum messageEnum  = Optional.ofNullable(gametypes).isPresent()?MessageEnum.GETGAMETYPESUCCESS: MessageEnum.GETGAMETYPEFAIL;
        return new DTO<Gametype>(messageEnum.getCode(),messageEnum.getMessage(),gametypes,pageInfo);
    }
    
}
